package com.qd.panda.model;

import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;
import java.math.BigDecimal;

/**
 * 用户退款申请
 *
 * @author sjk
 */
@Getter
@Setter
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@TableName("panda_user_wallet_refund_apply")
public class UserWalletRefundApply extends Model<UserWalletRefundApply> implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "request_id", type = IdType.ASSIGN_ID)
    private String requestId;
    /**
     * 申请退款金额
     */
    @TableField("request_refund_amount")
    private BigDecimal requestRefundAmount;
    /**
     * 申请退款赠送金额
     */
    @TableField("request_refund_give_amount")
    private BigDecimal requestRefundGiveAmount;
    /**
     * 实际退款金额
     */
    @TableField("actual_refund_amount")
    private BigDecimal actualRefundAmount;
    /**
     * 实际退款赠送金额
     */
    @TableField("actual_refund_give_amount")
    private BigDecimal actualRefundGiveAmount;
    /**
     * 申请时间
     */
    @TableField("request_time")
    private LocalDateTime requestTime;
    /**
     * 申请人手机号
     */
    @TableField("request_mobile")
    private String requestMobile;
    /**
     * 退款方式:1原路退回2线下处理
     */
    @TableField("refund_method")
    private Integer refundMethod;
    /**
     * 开户行
     */
    @TableField("open_bank")
    private String openBank;
    /**
     * 银行卡号
     */
    @TableField("bank_card")
    private String bankCard;
    /**
     * 审批状态:0审核中1审核通过2审核未通过3驳回
     */
    @TableField("approval_status")
    private Integer approvalStatus;
    /**
     * 完成时间
     */
    @TableField("completion_time")
    private LocalDateTime completionTime;
    /**
     * 申请人
     */
    @TableField("applicant")
    private String applicant;

    public void freeData() {
        this.requestId = null;
        this.requestRefundAmount = null;
        this.requestRefundGiveAmount = null;
        this.actualRefundAmount = null;
        this.actualRefundGiveAmount = null;
        this.requestTime = null;
        this.requestMobile = null;
        this.refundMethod = null;
        this.openBank = null;
        this.bankCard = null;
        this.approvalStatus = null;
        this.completionTime = null;
        this.applicant = null;
    }

}
